package com.ruoyi.credit.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 收入类合同对象 contract_income
 *
 * @author zhulei
 * @date 2022-03-10
 */
public class ContractIncome extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 合同主键 */
    @Excel(name = "合同主键")
    private String contractIncomeUid;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contractTypeName;

    /** 合同类别 */
    @Excel(name = "合同类别")
    private String contractCategory;

    /** 招采方式 */
    @Excel(name = "招采方式")
    private String contractIncomeConferMode;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractIncomeCode;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String contractIncomeName;

    /** 合同对方 */
    @Excel(name = "合同对方")
    private String customerNames;

    /** 签订公司 */
    @Excel(name = "签订公司")
    private String signCompany;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private String contractIncomeStatus;

    /** 合同总额 */
    @Excel(name = "合同总额")
    private BigDecimal contractIncomeTotalMoney;

    /** 新拟合同日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "新拟合同日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractIncomeSignDate;

    /** 合同启用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同启用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractIncomeEffectiveDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 财务部是否已审核费用明细 */
    @Excel(name = "财务部是否已审核费用明细")
    private String contractIncomesAttribute4;

    /** 经营期限开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "经营期限开始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractIncomeStartTime;

    /** 经营期限结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "经营期限结束", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractIncomeEndTime;

    /** 是否收款预警提醒 */
    @Excel(name = "是否收款预警提醒")
    private String contractIncomeIsNeedReceRemind;

    /** 提前多少天预警（天） */
    @Excel(name = "提前多少天预警", readConverterExp = "天=")
    private String contractIncomeReceRemindDays;

    /** 收款单位 */
    @Excel(name = "收款单位")
    private String contractIncomeReceUnit;

    /** 合同归属（线路） */
    @Excel(name = "合同归属", readConverterExp = "线=路")
    private String lineNames;

    /** 是否违约 */
    @Excel(name = "是否违约")
    private String contractIncomesAttribute12;

    /** 主办部门经办人 */
    @Excel(name = "主办部门经办人")
    private String hostUserName;

    /** 主办部门 */
    @Excel(name = "主办部门")
    private String hostDeptName;

    /** 备注 */
    @Excel(name = "备注")
    private String contractIncomeMemo;

    /** 合约管理经办人 */
    @Excel(name = "合约管理经办人")
    private String hyUserName;

    /** 合约管理部门 */
    @Excel(name = "合约管理部门")
    private String hyDeptName;

    /** 合同签订年份 */
    @Excel(name = "合同签订年份")
    private String signYear;

    // 合同对应客户id
    private Long targetId;

    public Long getTargetId() {
        return targetId;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setContractIncomeUid(String contractIncomeUid)
    {
        this.contractIncomeUid = contractIncomeUid;
    }

    public String getContractIncomeUid()
    {
        return contractIncomeUid;
    }
    public void setContractTypeName(String contractTypeName)
    {
        this.contractTypeName = contractTypeName;
    }

    public String getContractTypeName()
    {
        return contractTypeName;
    }
    public void setContractCategory(String contractCategory)
    {
        this.contractCategory = contractCategory;
    }

    public String getContractCategory()
    {
        return contractCategory;
    }
    public void setContractIncomeConferMode(String contractIncomeConferMode)
    {
        this.contractIncomeConferMode = contractIncomeConferMode;
    }

    public String getContractIncomeConferMode()
    {
        return contractIncomeConferMode;
    }
    public void setContractIncomeCode(String contractIncomeCode)
    {
        this.contractIncomeCode = contractIncomeCode;
    }

    public String getContractIncomeCode()
    {
        return contractIncomeCode;
    }
    public void setContractIncomeName(String contractIncomeName)
    {
        this.contractIncomeName = contractIncomeName;
    }

    public String getContractIncomeName()
    {
        return contractIncomeName;
    }
    public void setCustomerNames(String customerNames)
    {
        this.customerNames = customerNames;
    }

    public String getCustomerNames()
    {
        return customerNames;
    }
    public void setSignCompany(String signCompany)
    {
        this.signCompany = signCompany;
    }

    public String getSignCompany()
    {
        return signCompany;
    }
    public void setContractIncomeStatus(String contractIncomeStatus)
    {
        this.contractIncomeStatus = contractIncomeStatus;
    }

    public String getContractIncomeStatus()
    {
        return contractIncomeStatus;
    }
    public void setContractIncomeTotalMoney(BigDecimal contractIncomeTotalMoney)
    {
        this.contractIncomeTotalMoney = contractIncomeTotalMoney;
    }

    public BigDecimal getContractIncomeTotalMoney()
    {
        return contractIncomeTotalMoney;
    }
    public void setContractIncomeSignDate(Date contractIncomeSignDate)
    {
        this.contractIncomeSignDate = contractIncomeSignDate;
    }

    public Date getContractIncomeSignDate()
    {
        return contractIncomeSignDate;
    }
    public void setContractIncomeEffectiveDate(Date contractIncomeEffectiveDate)
    {
        this.contractIncomeEffectiveDate = contractIncomeEffectiveDate;
    }

    public Date getContractIncomeEffectiveDate()
    {
        return contractIncomeEffectiveDate;
    }
    public void setLastUpdateDate(Date lastUpdateDate)
    {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Date getLastUpdateDate()
    {
        return lastUpdateDate;
    }
    public void setContractIncomesAttribute4(String contractIncomesAttribute4)
    {
        this.contractIncomesAttribute4 = contractIncomesAttribute4;
    }

    public String getContractIncomesAttribute4()
    {
        return contractIncomesAttribute4;
    }
    public void setContractIncomeStartTime(Date contractIncomeStartTime)
    {
        this.contractIncomeStartTime = contractIncomeStartTime;
    }

    public Date getContractIncomeStartTime()
    {
        return contractIncomeStartTime;
    }
    public void setContractIncomeEndTime(Date contractIncomeEndTime)
    {
        this.contractIncomeEndTime = contractIncomeEndTime;
    }

    public Date getContractIncomeEndTime()
    {
        return contractIncomeEndTime;
    }
    public void setContractIncomeIsNeedReceRemind(String contractIncomeIsNeedReceRemind)
    {
        this.contractIncomeIsNeedReceRemind = contractIncomeIsNeedReceRemind;
    }

    public String getContractIncomeIsNeedReceRemind()
    {
        return contractIncomeIsNeedReceRemind;
    }
    public void setContractIncomeReceRemindDays(String contractIncomeReceRemindDays)
    {
        this.contractIncomeReceRemindDays = contractIncomeReceRemindDays;
    }

    public String getContractIncomeReceRemindDays()
    {
        return contractIncomeReceRemindDays;
    }
    public void setContractIncomeReceUnit(String contractIncomeReceUnit)
    {
        this.contractIncomeReceUnit = contractIncomeReceUnit;
    }

    public String getContractIncomeReceUnit()
    {
        return contractIncomeReceUnit;
    }
    public void setLineNames(String lineNames)
    {
        this.lineNames = lineNames;
    }

    public String getLineNames()
    {
        return lineNames;
    }
    public void setContractIncomesAttribute12(String contractIncomesAttribute12)
    {
        this.contractIncomesAttribute12 = contractIncomesAttribute12;
    }

    public String getContractIncomesAttribute12()
    {
        return contractIncomesAttribute12;
    }
    public void setHostUserName(String hostUserName)
    {
        this.hostUserName = hostUserName;
    }

    public String getHostUserName()
    {
        return hostUserName;
    }
    public void setHostDeptName(String hostDeptName)
    {
        this.hostDeptName = hostDeptName;
    }

    public String getHostDeptName()
    {
        return hostDeptName;
    }
    public void setContractIncomeMemo(String contractIncomeMemo)
    {
        this.contractIncomeMemo = contractIncomeMemo;
    }

    public String getContractIncomeMemo()
    {
        return contractIncomeMemo;
    }
    public void setHyUserName(String hyUserName)
    {
        this.hyUserName = hyUserName;
    }

    public String getHyUserName()
    {
        return hyUserName;
    }
    public void setHyDeptName(String hyDeptName)
    {
        this.hyDeptName = hyDeptName;
    }

    public String getHyDeptName()
    {
        return hyDeptName;
    }
    public void setSignYear(String signYear)
    {
        this.signYear = signYear;
    }

    public String getSignYear()
    {
        return signYear;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("contractIncomeUid", getContractIncomeUid())
            .append("contractTypeName", getContractTypeName())
            .append("contractCategory", getContractCategory())
            .append("contractIncomeConferMode", getContractIncomeConferMode())
            .append("contractIncomeCode", getContractIncomeCode())
            .append("contractIncomeName", getContractIncomeName())
            .append("customerNames", getCustomerNames())
            .append("signCompany", getSignCompany())
            .append("contractIncomeStatus", getContractIncomeStatus())
            .append("contractIncomeTotalMoney", getContractIncomeTotalMoney())
            .append("contractIncomeSignDate", getContractIncomeSignDate())
            .append("contractIncomeEffectiveDate", getContractIncomeEffectiveDate())
            .append("lastUpdateDate", getLastUpdateDate())
            .append("contractIncomesAttribute4", getContractIncomesAttribute4())
            .append("contractIncomeStartTime", getContractIncomeStartTime())
            .append("contractIncomeEndTime", getContractIncomeEndTime())
            .append("contractIncomeIsNeedReceRemind", getContractIncomeIsNeedReceRemind())
            .append("contractIncomeReceRemindDays", getContractIncomeReceRemindDays())
            .append("contractIncomeReceUnit", getContractIncomeReceUnit())
            .append("lineNames", getLineNames())
            .append("contractIncomesAttribute12", getContractIncomesAttribute12())
            .append("hostUserName", getHostUserName())
            .append("hostDeptName", getHostDeptName())
            .append("contractIncomeMemo", getContractIncomeMemo())
            .append("hyUserName", getHyUserName())
            .append("hyDeptName", getHyDeptName())
            .append("signYear", getSignYear())
            .toString();
    }
}
